1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular to a computer implemented method for integrating a calendar and task scheduler to enable automatic scheduling of meetings and assignment of tasks based on priority.
2. Description of the Related Art
An electronic calendar system is designed to maintain useful information for a user. Electronic calendar systems allow maintenance of a personal schedule of activities such as meeting appointments, teleconference schedules, vacation and business travel plans, and so forth. Examples of electronic calendaring systems include Microsoft Outlook™ 2000, Lotus Organizer™, and Lotus Notes™. Such systems are quite popular among users. “Outlook” is a trademark of Microsoft Corporation. Lotus Organizer and Lotus Notes are trademarks of International Business Machines Corporation.
Use of electronic calendaring systems for purposes such as scheduling meetings of multiple persons is known in the art. Conventional electronic calendar systems allow users to send electronic invitations to other users and for a user receiving an electronic calendar invitation to either accept or decline the invitation. An invitation typically includes a description of the event, a location of the event, and a scheduled start and end time of the event. An invitation decline message may be returned to the user that issued the invitation when the invitation is declined by an invited user. Likewise, an invitation acceptance message may be returned to the user that issued the invitation when the user accepts the invitation. When a user accepts an invitation, the scheduled event is recorded in the electronic calendar of the accepting user. Additionally, a record of the calendar of the user that issued the invitation is updated to reflect the expected attendance by the accepting user. Accordingly, the calendar of the user that issued the invitation includes an indication of the number of users that have accepted the invitation and the inviting user can plan for the event in response to the anticipated attendance.
For example, an invitation list may be created for a particular meeting, and a calendaring software application may then use this list to check each invitee's calendar for available time periods. A meeting may then be scheduled during a time period in which all, or some majority, of the invitees have sufficient time available on their calendar.
Conventional task planning tools in a calendaring system allow a user to schedule tasks to be performed by the user within blocks of time allocated for project work. The user may also estimate the time needed to complete a task, set start times and due dates for the task, and record the completion of the task. For example, a user may schedule a block of time for a task against ‘free time’ in the user's calendar. The ‘free time’ may include any time in which the user does not have a scheduled meeting of appointment in the calendar. However, with conventional task planning tools, when meetings and appointments are added or removed from the user's calendar, the user must manually adjust the blocks of time allocated for tasks. Thus, if the user is invited to a new meeting which occurs during a block of time already allocated to a task, the user must manually adjust the time allotted to the task to another block of ‘free time’ in the user's calendar.
From a meeting scheduling perspective, the coordinator of a meeting must typically do a lot of coordination via the telephone or electronic mail to find a time slot when the meeting participants can get together. When scheduling a meeting, this coordination is necessary in existing calendaring systems because the free time shown on a user's calendar does not reflect any priorities of the user. For instance, the user may have multiple meetings and tasks scheduled in the user's calendar. Since the meeting coordinator has no way to determine whether a meeting or a task in the user's calendar has a higher priority than the meeting to be scheduled, the meeting coordinator must contact the user to determine whether the time blocked for another meeting or task is a hard commitment, or whether the time could be made available if the priority of the existing task or meeting is low.